3.12 [UserExtensions] Sections

The [UserExtensions] sections are optional.

Summary

There can be multiple [UserExtension] sections, depending on the UserID and Identifier attributes of the DSC file. An example section is listed below. [UserExtensions] sections are for processing by tools outside of the standard tools provided by EDK II.

The EDK II build tools will ignore these sections.

Each UserExtensions section must have a unique set of UserId, IdString and Arch values.

The "common" architecture modifier in a section tag must not be combined with other architecture type; doing so will result in a build break.

This means that the same UserId can be used in more than one section, provided the IdString or Arch values are different. The same IdString values can be used if the UserId or Arch values are different. The same UserId and the same IdString can be used if the Arch values are different.

Prototype

<UserExtensions>   ::= "[UserExtensions" <attrs> "]"" <EOL> [<statements>]
<attrs>            ::= <UserId> <IdentifierString> [<attr>]
<attr>             ::= "." <arch>
<UserId>           ::= "." <Word>
<IdentifierString> ::= "." {<Word>} {<QuotedString>}
<statements>       ::= Content is build tool chain specific.

Parameters

UserId

Words that contain period "." must be encapsulated in double quotation marks.

IdString

Normalized strings that contain period "." or space characters must be encapsulated in double quotation marks. The IdString must start with a letter.

Example

[UserExtensions.MyOrgDotCom."1.0"]
This content is processed by my NoSuch applications.